// 这里是处理文件上传业务处理程序


// 配合上传插件来完成 formidable
// 引入
const formidable = require('formidable')
const path = require('path')


exports.uploadFile = function (req, res) {

    // 1.创建上传对象
    var form = new formidable.IncomingForm();
    // 2.设置编码用来上传键值对的解析
    form.encoding = 'utf-8';
    // 3.设置文件存储目录
    form.uploadDir = __dirname + '/../uploads';
    // 4.设置保留文件的扩展名
    form.keepExtensions = true;

    // 5.调用方法上传文件
    // 回调函数的三个参数
    // Err:错误信息对象
    // fields:普通键值对
    // files：文件上传完成之后的相关信息，主要是存储上传成功之后的信息
    form.parse(req, (err, fields, files) => {
        if (err) {
            res.json({
                code: 400,
                msg: '文件上传失败'
            })
        } else {
            // 成功的话返回图片服务器地址
            // 获取图片地址配合path方法直接获取字符串后面一段代码
            var imgname = path.basename(files.img.path)
            res.json({
                code: 200,
                msg: '文件上传成功',
                img: imgname
            })


        }




    })





}














